#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include <list>
#include <vector>
#include <deque>
using namespace std;
namespace lnb
{
template<class T,class Container = deque<T>>
class stack
{
public:
	void push(const T& val)
	{
		_con.push_back(val);
	}

	void pop()
	{
		_con.pop_back();
	}

	size_t size()
	{
		return _con.size();
	}

	bool empty()
	{
		return _con.empty();
	}


	T& top()
	{
		return _con[size() - 1];
	}


private:
	Container _con;
};


void StackTest()
{
	stack<int,vector<int>> st;
	st.push(3);
	st.push(4);
	st.push(2);
	st.push(0);
	st.push(9);
	st.push(20);
	cout << st.top() << endl;
}



}